package com.violet.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
* @Author: wqf
* @Date: 2024/09/02
* @Description: 菜单信息表
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "菜单信息表")
@TableName(value = "violet_auth.s_menu")
public class Menu extends LogicSuperEntity<Menu>{
    /**
     * 菜单名称
     */
    @TableField(value = "`name`")
    @Schema(description = "菜单名称")
    private String name;

    /**
     * 父级菜单id
     */
    @TableField(value = "parent_id")
    @Schema(description = "父级菜单id")
    private Integer parentId;

    /**
     * 菜单类型 0-目录 1-菜单 2-按钮
     */
    @TableField(value = "`type`")
    @Schema(description = "菜单类型 0-目录 1-菜单 2-按钮")
    private Byte type;

    /**
     * 菜单顺序
     */
    @TableField(value = "`sequence`")
    @Schema(description = "菜单顺序")
    private Byte sequence;

    /**
     * 菜单图标
     */
    @TableField(value = "icon")
    @Schema(description = "菜单图标")
    private String icon;

    /**
     * 菜单路径
     */
    @TableField(value = "`path`")
    @Schema(description = "菜单路径")
    private String path;

    /**
     * 是否隐藏 0-显示 1-隐藏
     */
    @TableField(value = "hidden")
    @Schema(description = "是否隐藏 0-显示 1-隐藏")
    private Byte hidden;

    /**
     * 重定向地址
     */
    @TableField(value = "redirect")
    @Schema(description = "重定向地址")
    private String redirect;

    /**
     * 组件路径
     */
    @TableField(value = "component")
    @Schema(description = "组件路径")
    private String component;

    /**
     * 是否总是显示 0-否 1-是
     */
    @TableField(value = "always_show")
    @Schema(description = "是否总是显示 0-否 1-是")
    private Byte alwaysShow;

    /**
     * meta 属性
     */
    @TableField(value = "meta")
    @Schema(description = "meta 属性")
    private String meta;
}